import numpy as np

"""
print("hello")
n1 = np.array([1, 2, 3])
n2 = np.random.rand(5)
print(n1)
print(n2)
n3 = np.random.rand(6)
print(n3)
for i in range(len(n3)):
    print(n3[i])
n3.shape = 2, 3
print(n3)
n4 = n3 * 3
print(n4)
"""
"""arr = np.arange(12)  # 创建一维数组
print("创建的一维数组：", arr)
print("新的一维数组：", arr.reshape(3, 4))  # 设置数组的形状
print("数组的维度为：", arr.reshape(3, 4).ndim)  # 求数组维度
print("数组展平后为：", arr.ravel())  # 展平数组
print("数组展平后为：", arr.flatten())  # 横向展平数组
print("数组展平后为：", arr.flatten("F"))  # 纵向展平数组
arr = arr.reshape(3, 4)
arr2 = arr * 3  # 获得新数组
print("横向组合为：", np.hstack((arr, arr2)))  # 使用hstack函数横向组合
print("纵向组合为：", np.vstack((arr, arr2)))  # 使用vstack函数纵向组合
print("横向组合为：", np.concatenate((arr, arr2), axis=1))  # 使用concatenate函数横向组合
print("纵向组合为：", np.concatenate((arr, arr2), axis=0))  # 使用concatenate函数纵向组合
arr3 = np.arange(16).reshape(4, 4)  # 创建二维数组
print("横向分割为:", np.hsplit(arr3, 2))  # 利用hsplit函数横向切割
print("纵向分割为:", np.vsplit(arr3, 2))  # 利用vsplit函数横向切割
print("横向分割为:", np.split(arr3, 2, axis=1))  # 利用split函数横向切割
print("纵向分割为:", np.split(arr3, 2, axis=1))  # 利用split函数纵向切割
"""
"""
a = np.mat('5,6;7,8')
b = np.mat([[1, 2], [3, 4]])
print(a)
print(b)
print(type(a))
print(type(b))
n1 = np.array([[1, 2], [3, 4]])
print(n1)
print(type(n1))

arr1 = np.eye(3)
print("创建的数组1为：\n", arr1)
arr2 = 3 * arr1
print('创建的数组2为:\n', arr2)
print("创建的矩阵为:\n", np.bmat("arr1 arr2;arr1 arr2"))
"""
"""
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
print('数组相加结果为:', x + y)
print('数组相减结果为:', x - y)
print('数组相乘结果为:', x * y)
print('数组相除结果为:', x / y)
print('数组相幂结果为:', x ** y)
print('数组比较结果为:', x < y)
print('数组比较结果为:', x == y)
print('数组比较结果为:', x >= y)
print('数组比较结果为:', x <= y)
print('数组比较结果为:', x != y)
print("数组逻辑运算结果为:", np.all(x == y))
print("数组逻辑运算结果为:", np.any(x == y))
"""
"""
arr1 = np.array([[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 3]])
print("创建的数组1为:\n", arr1)
print("数组1的shape为:", arr1.shape)
arr2 = np.array([1, 2, 3])
print("创建的数组2为:\n", arr2)
print("数组2的shape为:", arr2.shape)
print("数组相加结果:\n", arr2 + arr1)
"""
"""
arr = np.arange(100).reshape(10, 10)
np.save("../data3/data1/dataTest1", arr)
print("保存的数组为:\n", arr)
"""
"""
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([0, 1.0, 0.1])
np.savez("../data3/data1/dataTest2", arr1, arr2)
print("保存的数组1为:\n", arr1)
print("保存的数组2为:\n", arr2)

loaded_data = np.load("../data3/data1/dataTest1.npy")
print("读取的数组为:\n", loaded_data)
"""
"""
np.random.seed(42)  # 设置随机种子
arr = np.random.randint(1, 10, size=10)  # 生成随机数
print("创建的数组为:", arr)
arr.sort()
print("排序后的数组为:", arr)
print("排序后的数组为:", arr.argsort())
arr1 = np.random.randint(1, 10, size=(3, 3))
print("创建的数组为:\n", arr1)
arr1.sort(axis=1)  # 沿着横纵排序
print("排序好的数组:", arr1)
arr1.sort(axis=0)  # 沿着纵纵排序
print("排序好的数组:", arr1)
"""
names = np.array(["小明", "小黄", "小花", "小明", "小花", "小兰", "小白"])
print("创建的数组:", names)
print("去重后的数组:", np.unique(names))
print("去重后的数组:", sorted(set(names)))
arr = np.array(5)
print("创建的数组为:", arr)
print("重复后数组为:", np.tile(arr, 3))
np.random.seed(42)
arr2 = np.random.randint(0, 10, size=(3, 3))
print("重复后数组\n", arr2.repeat(2, axis=0))  # 按照行进行重复
print("重复后数组\n", arr2.repeat(2, axis=1))  # 按照列进行重复
